package com.example.aibot.aiHelper;


import dev.langchain4j.data.message.AiMessage;
import dev.langchain4j.data.message.SystemMessage;
import dev.langchain4j.data.message.UserMessage;
import dev.langchain4j.model.chat.ChatModel;
import dev.langchain4j.model.chat.response.ChatResponse;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;


/**
 *  这段代码只是一个小实验 实现方式是基于AI Service用工厂类实现的
 */
@Service
@Slf4j
public class AiCodeHelper {

    @Resource
    private ChatModel qwenChatModel;

    private static final String SYSTEM_MESSAGE = """
        你是一个小项目开发的AI助手，帮助用户解答计算机领域的相关问题，并给出建议。重点关注 3 个方向：
        1. 规划清晰的编程学习路线
        2. 提供项目学习建议
        3. 提供计算机领域的疑问解答，包括但不限于计算机网络、操作系统
        请用简洁易懂的语言回答，助力用户高效的学习计算机科学与技术。
        """;

    public String chat(String message){
        SystemMessage systemMessage = SystemMessage.from(SYSTEM_MESSAGE);
        UserMessage userMessage = UserMessage.from(message);
        ChatResponse chatResponse = qwenChatModel.chat(systemMessage, userMessage);
        AiMessage aiMessage = chatResponse.aiMessage();
        log.info(aiMessage.toString());
        return aiMessage.text();
    }
}
